package common;

import cn.bugstack.springframework.beans.BeansException;
import cn.bugstack.springframework.beans.PropertyValue;
import cn.bugstack.springframework.beans.PropertyValues;
import cn.bugstack.springframework.beans.factory.ConfigurableListableBeanDefinition;
import cn.bugstack.springframework.beans.factory.ConfigurableListableBeanFactory;
import cn.bugstack.springframework.beans.factory.config.BeanDefinition;
import cn.bugstack.springframework.beans.factory.config.BeanFactoryPostProcessor;

/**
 * @param
 * @author oyz
 * @version 1.1.0
 * @description: TODO
 * @date 2022-8-24 17:17
 */
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {


    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        BeanDefinition userService = beanFactory.getBeanDefinition("userService");
        // 拿到属性集合对象
        PropertyValues propertyValues = userService.getPropertyValues();
        // 更换里边公司的属性
        propertyValues.addPropertyValue(new PropertyValue("company","字节跳动"));
    }
}
